#ifndef CLAYER_H
#define CLAYER_H

#include "ZenEngine.h"

class CLayer
{
private:
	CZenEngine zen;
protected:
	int					m_x;
	int					m_y;
	int					m_VelocityX;
	int					m_VelocityY;
	int					m_SurfaceWidth;
	int					m_SurfaceHeight;
	LPDIRECT3DSURFACE8	m_pLayerSurface;
	BOOL				m_bTransparent;
	D3DCOLOR			m_ColorKey;
	
	enum MOVEMENT{None, Horizontal, Vertical, Both} m_MoveDirection;

public:
	CLayer();
	~CLayer();

	void SetColorKey(D3DCOLOR ColorKey);
	D3DCOLOR GetColorKey();
	void SetVelocity(int vx, int vy);
	void GetVelocity(int * pvx, int * pvy);
	void SetPosition(int x, int y);
	void GetPosition(int * px, int * py);
	void Update();
	void Shutdown();
	HRESULT Initialize(char * strPathName, BOOL bTransparent);
	HRESULT Render(LPDIRECT3DSURFACE8 pTargetSurface);
};

#endif
